#ifndef PG_OPENGL_HPP
#define PG_OPENGL_HPP

#include "pg_base.hpp"
#include "gl_drawer.hpp"

namespace Ui { class PgOpenGL; }

class PgOpenGL : public PgBase
{
    Q_OBJECT
public:
    explicit PgOpenGL(QWidget* parent = nullptr);
    ~PgOpenGL();
signals:
    void sig_read_cloud_end(bool res);
private slots:
    void on_btn_testLoading_clicked();
    void on_btn_selectFile_clicked();
    void slot_read_cloud_end(bool res);
private:
    Ui::PgOpenGL* ui;
    GLDrawer* gl_drawer;
    PointCloud cloud;
    std::shared_ptr<GLData> data_cloud;

    void thd_read_cloud(const std::string path);
};

#endif
